class UEDGE{NTP} < $EDGE{NTP}, $HASH |
---|
**** | Undirected edge |
$HASH | $IS_EQ | $EDGE{_} | $STR | COMPARE{_} |
attr first, second: NTP; |
---|
attr first, second: NTP; |
---|
create(f,s: NTP): SAME |
---|
elt_str(e: NTP): STR |
---|
hash:INT |
---|
**** | A simple hash value computed from the hash values of the components. For this to work, these must either be value types which define hash values or reference types. |
is_eq(e:UEDGE{NTP}): BOOL |
---|
is_eq(arg: $OB): BOOL .. Included as is_eq |
---|
is_reflexive: BOOL |
---|
str: STR |
---|
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq |
---|
**** | The "less than" relation used in the sorting routines. Compares the object "id" by default. May be redefined in descendants. |
elt_hash(e:ETP):INT .. Included as elt_hash |
---|
**** | A hash value associated with an element. Must have the property that if "elt_eq(e1,e2)" then "elt_hash(e1)=elt_hash(e2)". Can be defined to always return 0, but many routines will then become quadratic. Uses object "id" by default. May be redefined in descendants. |
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt |
---|
**** | The "less than" relation used in the sorting routines. Compares the object "id" by default. May be redefined in descendants. |
elt_nil: ETP .. Included as elt_nil |
---|
**** | Return the nil value. If the element is under $NIL then return e.nil. Otherwise, return void
_ |
attr first, second: NTP; |
---|
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil |
---|
attr first, second: NTP; |
---|